package com.xin.di.uav.applet.po;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 *
 * </p>
 *
 * @author lixiang
 * @since 2023-09-12
 */
@Getter
@Setter
@ApiModel(value = "Coupon对象", description = "")
public class Coupon implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("优惠券主键id")
    private String id;

    @ApiModelProperty("优惠券名称")
    private String couponName;

    @ApiModelProperty("优惠券类型 0-满减券,1-满折券")
    private Byte couponType;

    @ApiModelProperty("折扣数")
    private BigDecimal discount;

    @ApiModelProperty("使用门槛 0-无门槛,1-有门槛")
    private Byte threshold;

    @ApiModelProperty("门槛金额")
    private BigDecimal thresholdAmount;

    @ApiModelProperty("优惠内容")
    private String description;

    @ApiModelProperty("定向发放状态 0-未定向发放,1-已定向发放")
    private Byte issueStatus;

    @ApiModelProperty("已领取数量")
    private Integer alreadyRecNum;

    @ApiModelProperty("总量")
    private Integer totalQuantity;

    @ApiModelProperty("已使用数量")
    private Integer usedNum;

    @ApiModelProperty("指定用户身份类型 0-全部用户,1-新用户")
    private Byte designatedUserType;

    @ApiModelProperty("领取限制")
    private Byte claimRestriction;

    @ApiModelProperty("领取次数")
    private Integer claimNum;

    @ApiModelProperty("使用时间")
    private String useHours;

    @ApiModelProperty("处理人")
    private String operator;

    @ApiModelProperty("状态 0-未开始,1-进行中,2-已结束,3-已失效")
    private Byte status;

    @ApiModelProperty("生效时间")
    private Date effectiveTime;

    @ApiModelProperty("失效时间")
    private Date failureTime;

    @ApiModelProperty("创建时间")
    private Date createTime;

    @ApiModelProperty("更新时间")
    private Date updateTime;

    @ApiModelProperty("删除标识")
    private Boolean del;

    @ApiModelProperty("用户领取优惠券当日起+n-1天有效，n天截止时间为23:59:59")
    private Integer effectiveDays;
}
